256 research outputs found
Real-time refocusing using an FPGA-based standard plenoptic camera
Plenoptic cameras are receiving increased attention in scientific and commercial applications because they capture the entire structure of light in a scene, enabling optical transforms (such as focusing) to be applied computationally after the fact, rather than once and for all at the time a picture is taken. In many settings, real-time inter active performance is also desired, which in turn requires significant computational power due to the large amount of data required to represent a plenoptic image. Although GPUs have been shown to provide acceptable performance for real-time plenoptic rendering, their cost and power requirements make them prohibitive for embedded uses (such as in-camera). On the other hand, the computation to accomplish plenoptic rendering is well structured, suggesting the use of specialized hardware. Accordingly, this paper presents an array of switch-driven finite impulse response filters, implemented with FPGA to accomplish high-throughput spatial-domain rendering. The proposed architecture provides a power-efficient rendering hardware design suitable for full-video applications as required in broadcasting or cinematography. A benchmark assessment of the proposed hardware implementation shows that real-time performance can readily be achieved, with a one order of magnitude performance improvement over a GPU implementation and three orders ofmagnitude performance improvement over a general-purpose CPU implementation
Lazy Evaluation and Delimited Control
The call-by-need lambda calculus provides an equational framework for
reasoning syntactically about lazy evaluation. This paper examines its
operational characteristics. By a series of reasoning steps, we systematically
unpack the standard-order reduction relation of the calculus and discover a
novel abstract machine definition which, like the calculus, goes "under
lambdas." We prove that machine evaluation is equivalent to standard-order
evaluation. Unlike traditional abstract machines, delimited control plays a
significant role in the machine's behavior. In particular, the machine replaces
the manipulation of a heap using store-based effects with disciplined
management of the evaluation stack using control-based effects. In short, state
is replaced with control. To further articulate this observation, we present a
simulation of call-by-need in a call-by-value language using delimited control
operations
Minibatching Offers Improved Generalization Performance for Second Order Optimizers
Training deep neural networks (DNNs) used in modern machine learning is
computationally expensive. Machine learning scientists, therefore, rely on
stochastic first-order methods for training, coupled with significant
hand-tuning, to obtain good performance. To better understand performance
variability of different stochastic algorithms, including second-order methods,
we conduct an empirical study that treats performance as a response variable
across multiple training sessions of the same model. Using 2-factor Analysis of
Variance (ANOVA) with interactions, we show that batch size used during
training has a statistically significant effect on the peak accuracy of the
methods, and that full batch largely performed the worst. In addition, we found
that second-order optimizers (SOOs) generally exhibited significantly lower
variance at specific batch sizes, suggesting they may require less
hyperparameter tuning, leading to a reduced overall time to solution for model
training.Comment: 14 pages, 6 figures, 5 table
- …